1. Technical Field
This application relates to techniques used in connection with interfaces defined for providing services, and more particularly in connection with providing a debug interface in connection with a provider.
2. Description of Related Art
Computer systems may include different resources used by one or more host processors. Resources and host processors in a computer system may be interconnected by one or more communication connections. These resources may include, for example, data storage devices such as those included in the data storage systems manufactured by EMC Corporation. These data storage systems may be coupled to one or more servers or host processors and provide storage services to each host processor. Multiple data storage systems from one or more different vendors may be connected and may provide common data storage for one or more host processors in a computer system.
A host processor may perform a variety of data processing tasks and operations using the data storage system. For example, a host processor may perform basic system I/O operations in connection with data requests, such as data read and write operations.
Host processor systems may store and retrieve data using a storage device containing a plurality of host interface units, disk drives, and disk interface units. The host systems access the storage device through a plurality of channels provided therewith. Host systems provide data and access control information through the channels to the storage device and the storage device provides data to the host systems also through the channels. The host systems do not address the disk drives of the storage device directly, but rather, access what appears to the host systems as a plurality of logical disk units. The logical disk units may or may not correspond to the actual disk drives. Allowing multiple host systems to access the single storage device unit allows the host systems to share data in the device. In order to facilitate sharing of the data on the device, additional software on the data storage systems may also be used.
In connection with data storage systems, or more generally any type of system acting as a server, techniques may be used in connection with debugging code of the server. Server code may include many different entities such as components, programs or modules, where each such entity may provide its own debug interface to be invoked by a debug client in connection with debugging the particular entity's code. For example, a first component may provide a first debug interface including a first set of defined functions which are invoked when debugging the first component. The debug client uses the first set of defined functions when issuing debug commands to the first component. A second different component may provide a second debug interface including a second set of defined functions which are invoked when debugging the second component. The debug client uses the second set of defined functions when issuing debug commands to the second component. Thus, the first and second sets of defined functions may be different so that the debug client issuing debug commands needs to be aware of, and use, the appropriate set of functions of the various debug interfaces when debugging each component. As there are changes to the supported debug commands, the debug interfaces are modified. For example, if a new debug command is added for use with the above-mentioned first component, a new function may be added to the first set to support the new command thereby changing the first debug interface, or a defined interface of an existing function may be modified to support the new command thereby also changing the debug interface.